文章開始之前先做一下簡單地個人背景介紹。我是主修語言學的在讀研究生,雖然高中念的是理組,但大學主修教育,四年來完全跟程式語言還有AI這些東西八竿子打不著關係。上研究所之後才開始接觸這塊東西,所以這系列的文章基本就是從我一個主修語言學的NLP小白跟文理組混血的角度切入,希望對跟我一樣剛開始接觸這個領域或是有興趣的人有點幫助。
自然語言處理顧名思義就是自然地處理語言。NLP的重點其實就在「自然」上面。「自然」這個詞乍看之下很簡單,但仔細想想就會發現他好像不能說明什麼。當然這樣的情況是建立在你對語言學沒有了解的前提之下。多數語言學家認為人類是唯一會使用語言的物種(至少在現在我們發現的所有物種之中),所以如果說到什麼叫「自然地」處理語言,絕對就是像人一樣處理語言了。我知道可能有人會好奇像蜜蜂這樣的物種透過飛行軌跡傳遞訊息的動物不能算是有語言嗎?這就牽涉到你怎麼定義「語言」了,總之我在這邊採用的是語言學家對狹義的語言應該有的特徵作為判定標準。(關於動物到底有沒有語言的正反辯論可以看文末的補充資料~)
所以說NLP要做的事情就是讓電腦像人一樣處理語言。看到這邊大家不知道有沒有發現一個疑點?他如果不理解語言的話要怎麼處理語言呢?如果我們不理解一個數學公式要怎麼用它?死背嗎?這拿來應付國高中的數學考試當然是綽綽有餘,但對待語言絕對不是這麼一回事。剛剛一整段都在強調NLP的重點就在「像人一樣」,大家應該不是把中文裡面所有東西都死背起來再拿來用吧?如果是的話你又是怎麼在看到下面這個以前完全沒看過的句子的瞬間就明白它的意思呢?
浴缸裡的鴨嘴獸帶著浴帽在洗玫瑰浴
面對語言的無限創造性,我們永遠沒辦法知道自己下一秒會聽到或看到什麼樣千奇百怪的東西,所以企圖把所有東西都背起來絕對不會是一個好方法,這也不是人對語言的理解和處理方式。死背不只不符合「自然」,更不符合經濟效益。即便我們找到方法能隨時把所有東西都輸入到電腦裡面並告訴它這些東西的意思,我敢說大部分人的電腦記憶體根本不夠用。但是對電腦來說,他們認識的應該就只有0跟1而已啊,我們要怎麼讓他們學會像人一樣處理語言呢?答案是把語言的規則交給它。而語言學就是在研究語言規則的學科,所以接下來請容我簡介紹一下自己平常都在學校裡面學什麼。
友人&親戚長輩s:你研究所念什麼嗎?
我:語言學。
友人&親戚長輩s:所以你主修的是什麼語言?
這是已經發生在我日常生活中N次讓我不知道怎麼應對的對話,也是我決定寫這系列文章的其中一個原因—把語言學發揚光大!(又在亂立flag)所謂語言學其實無關哪個特定語言,而是跟所有語言相關。借用我親愛的指導教授曾經說過的話解釋一下,「語言學就是一門研究語言現象的社會科學。」基本上我們尋找的是普遍存在語言當中的規則跟現象,並在這裡面做出區別(這個可以從等一下的例子裡面看到)。語言學又可以分成核心的「理論語言學」跟向外擴張的「應用語言學」,下面分別簡單介紹一下。
著重在語言本身的規則上面,基本上研究的東西可以分成三個面向:
I watched Naruto at home yesterday.
我 昨天 在家 看 火影忍者。
把理論語言學跟其他領域結合的就是應用語言學,因為有太多面向了,所以下面只列出幾個例子。
1.社會語言學:社會學跟語言學的結合。例:性別之間語言使用習慣差異(像是髒話的使用頻率、顏色詞的豐富程度等);英國不同階級間的發音差異
2.歷史語言學:歷史跟語言學的結合。例:語言如何隨著歷史演進而變化(已經不再使用的古英語的thou、中文的之乎者也)
2.司法語言學:語言學跟司法的結合。例:法律文件中的用詞規則、從個人言談及寫作習慣找出犯罪嫌疑人、從嫌疑人言談中使用的詞彙找線索等
2.計算語言學: 語言學跟程式語言的結合。例:NLP
從上面的介紹大家應該可以感受到語言學跟我們的生活息息相關,也跟NLP息息相關。如果覺得這種感受還不夠明確,這邊最後用簡易的語音助理工作流程來總結一下語言學跟NLP之間的關係以及NLP的實際應用。
竟然一不小心就寫了2000多個字,真的是很搞威,之後會盡量言簡意賅一點(應該啦)。希望今天的文章大家看了還喜歡,覺得有趣的話可以幫我按個讚或收藏這個系列XDD 如果發現bug的話歡迎在下面提出來,有什麼問題的話也可以留言提問喔~
明天見
關於動物到底有沒有語言的正反論述
關於語言學家對「語言」的認定